package com.huike.clues.mapper;

import com.github.pagehelper.Page;
import com.huike.clues.domain.SysDict;
import com.huike.common.core.domain.entity.SysDictTypeDTO;
import com.huike.common.core.page.TableDataInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * @Desciption SysDictMapper
 * @Author LUXIN
 * @Date 2023-10-15
 */
@Mapper
public interface SysDictMapper {

    /**
     * 分页查询
     *
     * @param sysDict
     * @return
     */
    public List<SysDictTypeDTO> findList(SysDictTypeDTO sysDict);

    /**
     * 新增数据
     *
     * @param dict
     */
    void insert(SysDict dict);

    /**
     * 修改数据
     *
     * @param dict
     */
    void update(SysDict dict);

    /**
     * 根据dictId查询字典类型详细数据
     *
     * @param dictId
     * @return
     */
    SysDictTypeDTO selectById(Integer dictId);

    /**
     * 根据dictId删除字典类型
     *
     * @param dictIds
     */
    void deleteByIdList(List<Integer> dictIds);


    /**
     * 获取每个状态下的字典类型列表
     *
     * @param status
     * @return
     */
    List<SysDict> ListByStatus(String status);

    /**
     * 查询所有数据类型用于导出
     * @return
     */
    @Select("select dict_Id, dict_name, dict_type, status from huike2.sys_dict_type")
    List<SysDictTypeDTO> list();
}
